Concepedia

Concept

software testing

Parents

Children

89.6K

Publications

4.9M

Citations

134.3K

Authors

11.7K

Institutions

Symbolic Testing Automation

1962 - 1991

During 1962–1991, the software testing landscape was shaped by rapid advances in automated test data generation, symbolic execution, and program analysis-driven testing. Researchers developed data-space partitioning, domain-based partitioning, and data-flow analysis to guide test data selection and generation, while symbolic execution and formal testing systems enabled systematic path exploration and automated test-data derivation. Program analysis representations, such as program dependence graphs (PDG) and program slicing, provided abstractions of data and control dependencies to support testing, optimization, and verification tasks. The emphasis on testability design and reliability engineering for large-scale systems addressed hardware/software integration, verification tooling, and fault-tolerance approaches, alongside empirical analyses of real software errors to inform testing strategies and quality assurance practices.

Test data generation and data-space partitioning emerge as core strategies, combining domain-based partitioning, data-flow analysis, and reliability criteria to guide test data selection and generation [3], [7], [12], [8], [11], [16], [1].

Symbolic execution and formal testing systems enable systematic path exploration and automated test-data derivation, balancing automation with debugging support [4], [6], [13].

Program analysis representations (PDG, program slicing) provide abstractions of data and control dependencies to support optimization, testing, and verification tasks [17], [19].

Testability design and reliability engineering for large-scale systems address hardware/software integration, verification tooling, and fault-tolerance approaches [2], [5], [15].

Empirical analyses of real software errors inform testing strategies and quality assurance practices [9], [14].

Empirical Testing and Verification

1992 - 2001

Symbolic Execution Driven Testing

2002 - 2008

Mutation-Driven Testing and Repair

2009 - 2015

Multi-Objective Search-Based Testing

2016 - 2017

Path-Guided Fuzzing and Repair

2018 - 2024